package com.jeesite.modules.yzw.dao;

import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.Office;
import com.jeesite.modules.sys.entity.User;
import com.jeesite.modules.task.feedback.entity.DcSupTaskFeedback;
import com.jeesite.modules.yzw.entity.OtsIflytekOrg;
import com.jeesite.modules.yzw.entity.OtsIflytekOrgUser;
import com.jeesite.modules.yzw.entity.OtsIflytekUser;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@MyBatisDao
public interface OtsDataDao {
    List<OtsIflytekOrg> findListOrg();

    List<OtsIflytekUser> findListUser();

    List<OtsIflytekOrgUser> findListOrgUser(String id);

    OtsIflytekOrg getOtsIflytekOrgByid(OtsIflytekOrg org);

    void updateUserSyncstate(OtsIflytekUser otsIflytekUser);

    List<OtsIflytekOrg> findListOrgBysyncstate();

    void updateOrgSyncstate(OtsIflytekOrg org);

    OtsIflytekOrg getOtsIflytekOrg(OtsIflytekOrg otsIflytekOrg);

    void insertOtsIflytekOrg(OtsIflytekOrg otsIflytekOrg);

    void insertOtsIflytekOrgUser(OtsIflytekOrgUser otsIflytekOrgUser);

    void insertOtsIflytekUser(OtsIflytekUser otsIflytekUser);

    void updateOrgUserSyncstate(OtsIflytekOrgUser otsIflytekOrgUser);

    List<OtsIflytekOrg> findListOrgByStatus(OtsIflytekOrg otsIflytekOrg);

    List<OtsIflytekUser> findListUserByStatus(OtsIflytekUser otsIflytekUser);

    List<Office> findOfficeList();

    List<OtsIflytekUser> findOmissionUserList();

    List<OtsIflytekOrgUser> findOrgUser();

    /**
     * 通过当前系统的用户id，获取其在易政网中的id
     * @param userCode
     * @return
     */
    String getIflyId(String userCode);

    List<DcSupTaskFeedback> getFeedback();

    void updateFeedback(@Param("actionId") String actionId, @Param("feedbackEndTime") Date feedbackEndTime);

    void updateAction(@Param("actionId")String actionId);

    List<DcSupTaskFeedback> getFeedback2();

    void updateFeedback2(@Param("id")String id, @Param("feedbackTime")Date addDays);

    List<User> findDeleteUserList();

    List<OtsIflytekOrg> findOtsIflytekOrg();
}
